查看原文
其他

这款上线6年火爆应用即将消失,开发者和苹果审核人员再度交锋

燕珊 InfoQ 2021-08-02
整理|燕珊
苹果为何不允许复古游戏的存在?

iDOS 2 是一款存在超 6 年的 iOS 应用,用户通过它能够在 iPhone 和 iPad 上运行几十年前的 DOS 游戏和软件。不过,如今它正面临被苹果应用商店下架的风险。对此,该应用的开发者 Chaoji Li 在一篇博文中“控诉”,并在网络上引发了不少人的惋惜和讨论。

iOS 上的 DOS 模拟器

iDOS 2 从 2014 年起就在 App Store 上线,其前身 iDOS 于 2010 年首次发布,但当时上线没多久就被苹果撤下。

由于苹果对游戏文件的捆绑有所限制,iDOS 2 中间有四年多没有更新,而在 2020 年 9 月,Li 接收了 GitHub 上一名用户的建议再试一次,更新了 iDOS 2 使得它能够使用 iOS 的“文件共享”功能,继而让用户可以导入自己的文件。

通过 iDOS 2,iPhone/iPad 用户能够玩到很多“古早”的经典 DOS 游戏。但近日当 Li 试图向 App Store 提交带有 Bug 修复的更新时,却被告知该更新被拒绝,因为它违反了 App Store 2.5.2 准则,即应用程序不允许安装或者启动可执行代码。

苹果在回复中表示:

在审查期间,你的应用程序安装或启动了可执行代码,这在 App Store 上是不允许的。
具体来说,你的应用程序执行了 iDOS 包和镜像文件,并允许 iTunes 文件共享和文件支持导入游戏。执行代码可以引入或改变应用程序的特点或功能,并允许下载未经许可的内容。
请注意,虽然旨在教学、开发或允许学生测试可执行代码的教育类应用程序在有限的情况下可以下载代码,但这种代码不得用于其他目的,而且这种应用程序必须使用户可以完全查看和编辑源代码。

根据通知,App Store 审查团队给 Li 14 天的时间再次提交更新,否则该应用将被从应用商店中下架。

Li 表示,他理解 Apple 此次举措背后的考量,但强调用户都知道去年以来,因为用了文件共享访问的能力,iDOS 2 已经能够运行自定义的游戏或程序,大家都没有耍任何花招来愚弄审核的人,相反,对于每一次的版本更新提交,他都总是会提供说明,告知 iDOS 2 的工作原理。

虽然该 App 确实运行外部代码,但它是在沙盒环境中运行的(这意味着不存在可能危及系统的其余部分用户的数据安全的风险)。

但现在苹果却不同意了。

Li 在公开信中称,使用文件共享来运行自定义游戏或程序是目前 iDOS 2 不可或缺的一部分,他不打算删除它以满足 App Store 的规则,因为这是对付费用户的背叛。

为什么苹果突然不同意了?

有分析称也许这是苹果审核团队的一个“过失”,毕竟 App Store 对模拟器始终都是不开放的态度。

Li 则推测跟最近 iDOS 2 的热度迅速上升有关,从而让苹果改变了主意。近日 Fast Company 科技编辑的推文、以及 How-To Geek 都发布了如何在 iPad 上运行 Windows 3.1 的操作指南,给 iDOS 2 引来了不小的关注度。

“一旦你得到了 Windows 3.1 的文件,你需要把它们转移到你的 iPad 的 Files 应用中。然后,你可以在 iDOS 2 中加载 Windows 3.1 文件并安装这个操作系统。”而事实进一步证明,用户还可以通过 iDOS 在 Windows 3.1 上安装额外的第三方 App。How-To Geek 的编辑 Benj Edwards 还介绍了如何利用互联网档案馆获得 Windows 3.1 的软件,并可以在那里找到游戏、生产力工具、实用程序等。通过 iDOS 和 Windows 3.1,可以把 iPad 变成一台便携式的经典游戏机,Benj Edwards 展示了在他的 iPad 上运行的几个经典 Windows 游戏,包括《文明 II》等游戏。

如此一来,iDOS 2 这种模拟器能力被大肆宣传,对于重视版权的苹果来说,这种情况就不能再视而不见了。

三易生活分析称,一直以来模拟器都游走在法律边界的灰色地带,存在侵犯无数著作权的盗版资源,并破坏被模拟对象商业生态的情况。为了避免连带责任,苹果将其一刀切也很正常。此前在 App Store 中存活了很久的任天堂 NES/SNES 模拟器 Floppy Cloud,就是一款将自己伪装成具有文件管理功能的应用,只有在执行特定的.smc 文件(任天堂游戏模拟器文件)时,才会出现的游戏模拟功能。

除此之外,玩家想要在 iOS/iPadOS 生态中用上模拟器,就只能将设备越狱来安装模拟器,或是下载企业版应用,但这些行为往往都有着极大的风险,甚至会有黑灰产在此类应用中注入挖矿脚本。

或许正如一位网友所评论,模拟器允许应用程序运行苹果无法看到或检查的代码,这一直是违反规则的。真正的问题是苹果在应用规则时缺乏一致性,这本来就不应该在 App Store 中被允许,所以现在的删除看起来更像是苹果“动真格”了。

参考链接:

https://www.theverge.com/2021/7/23/22590511/idos-2-emulator-apple-app-store-takedown-notice

https://litchie.com/2021/07/idos2-will-be-gone

https://www.howtogeek.com/739100/how-to-install-windows-31-on-an-ipad/

今日好文推荐
应用程序崩溃,融资泡汤,我们三个程序员惨被祭天
中国移动翼龙无人机为河南受灾地区提供网络;阿里云抄袭官司达成和解;华为云电脑停止服务和运营:数据将永久删除 | Q资讯
谷歌开发团队犯低级错误?因一个字符拼写Bug,Chromebook用户被锁在系统之外


 活动推荐

越来越多的企业正在使用低代码开发来加快数字化进程。不论是需要紧跟新兴技术的 IT 人,还是希望进阶职场的普通员工,都需要将低代码作为一个需要掌握的重要技能。7 月 27 日 19:00-21:30,《Microsoft Power Platform 在线技术公开课:基础知识》将介绍使用 Power Platform 构建和管理创新业务解决方案所需的基础知识,并且还有免费获得 PL-900 认证考试的机会。扫描下方二维码或点击阅读原文报名。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存